package com.routz.nettydemo.customprotocol.entity;

import java.util.TreeSet;

/**
 * 鸡脚环
 * 自定义协议
 *
 * 设备信息 60 byte
 *      开始字节 0x21
 *      命令类型 0x60
 *      定位状态
 *      分隔符,
 *      纬度字 9byte
 *      分隔符,
 *      纬度半球
 *      分隔符,
 *      经度字 10byte
 *      分隔符,
 *      经度半球
 *      分隔符,
 *      卡号字1	省略18字	卡号字20
 *      保留字
 *      结束字节 0x2F
 *      校验和  2 byte
 *      校验和
 * 脚环数据包 620 byte
 *  数据包头
 *      开始字节 0x21
 *      命令类型 0x40
 *      总共包数 0x01
 *      本包编号 0x01
 *      结束标志 0x01
 *      卡号后5位
 *  脚环数据
 *      脚环编号 4byte
 *      保留字
 *      步数   3byte
 *      温度
 *      电压 距离
 *  数据包尾
 *      保留字 6byte
 *      脚环数目
 *      结束字节 0x2f
 *      校验和 2byte
 */
public class ChickenProtocol {

    // 设备信息
    private DeviceInfo deviceInfo;
    // 脚环数据包
    private TreeSet<BraceletDataPacket> braceletDataPackets = null;

    private byte braceletDataCapacity;

    public ChickenProtocol() {
    }

    public ChickenProtocol(DeviceInfo deviceInfo, TreeSet<BraceletDataPacket> braceletDataPackets, byte braceletDataCapacity) {
        this.deviceInfo = deviceInfo;
        this.braceletDataPackets = braceletDataPackets;
        this.braceletDataCapacity = braceletDataCapacity;
    }

    public DeviceInfo getDeviceInfo() {
        return deviceInfo;
    }

    public void setDeviceInfo(DeviceInfo deviceInfo) {
        this.deviceInfo = deviceInfo;
    }

    public TreeSet<BraceletDataPacket> getBraceletDataPackets() {
        return braceletDataPackets;
    }

    public void setBraceletDataPackets(TreeSet<BraceletDataPacket> braceletDataPackets) {
        this.braceletDataPackets = braceletDataPackets;
    }

    public byte getBraceletDataCapacity() {
        return braceletDataCapacity;
    }

    public void setBraceletDataCapacity(byte braceletDataCapacity) {
        this.braceletDataCapacity = braceletDataCapacity;
    }
}
